package com.hxkj.dao;

import com.hxkj.domain.po.AuthFunction;
import java.util.List;
import java.util.Map;

/**
* 数据操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-05-21 17:59:26
*
*/
public interface AuthFunctionDao {

    /**
    *
    * 根据主键查询AuthFunction对象
    *
    * @param functionId
    * @return AuthFunction对象
    */
    AuthFunction get(Long functionId);

    /**
    *
    * 根据查询条件查询符合条件的AuthFunction对象
    *
    * @param authFunction
    * @return 符合条件的AuthFunction对象List
    */
    List<AuthFunction> get(AuthFunction authFunction);

    /**
    *
    * 根据主键删除AuthFunction对象
    *
    * @param functionId
    * @return 影响条件数
    */
    int delete(Long functionId);

    /**
    *
    * 根据条件删除符合条件的AuthFunction对象
    *
    * @param authFunction
    * @return 影响条件数
    */
    int delete(AuthFunction authFunction);

    /**
     *
     * 根据siteId删除符合条件的AuthFunction对象
     *
     * @param siteId
     * @return 影响条件数
     */
    int deleteFunctionBySiteId(Long siteId);

    /**
    *
    * 插入AuthFunction对象
    *
    * @param authFunction
    * @return 影响条件数
    */
    int save(AuthFunction authFunction);

    /**
    *
    * 更新AuthFunction对象
    *
    * @param authFunction
    * @return 影响条件数
    */

    int update(AuthFunction authFunction);
    /**
     *
     * 根据roleId查询符合条件的AuthFunction对象
     *
     * @param map
     * @return 符合条件的AuthFunction对象List
     */
    List<AuthFunction> getAssigned(Map<String,Object> map);



    /**
     * 删除站点从功能库添加的功能
     * @param siteId
     */
    void removeFunction(Long siteId);

}
